package com.store.orm.mysql.crud;

import com.store.orm.mysql.crud.filter.Filtration;

import java.util.Collection;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;

/**
 * @author 宫静雨
 * @version 1.0
 */
public interface Delete {
    <T> Map<String, List<Object>> delete(T t);

    <T> List<String> deleteMany(List<T> ts);

    Map<String, List<Object>> delete(Class<?> cls, String json);

    List<String> deleteMany(Class<?> cls, List<String> jsons);

    Map<String, List<Object>> delete(Class<?> cls, LinkedHashMap<String, Object> map);

    List<String> deleteMany(Class<?> cls, Collection<LinkedHashMap<String, Object>> maps);

    String delete(Class<?> cls, Filtration filter);

    List<String> deleteMany(Class<?> cls, Filtration[] filter);

    String delete(String sql);

    List<String> deleteMany(String[] sql);
}